The present invention relates to a multi-processor system and method for guaranteeing coherency of cache memories, and more particularly to a method and multi-processor system having clusters each of which have processors and a shared memory.
In a conventional clustered multi-processor system, processors are divided into a plurality of sets called "clusters". Each cluster has at least one processor, at least one cache memory, a shared memory, and a system bus. A cross-bar switch (e.g., a full cross-bar switch) mutually connects the clusters.
In this conventional system, to guarantee coherency of the cache memories (e.g., store-in-caches), a control operation is performed such that the same memory block is not simultaneously copied among a plurality of cache memories.
However, this conventional system has a problem that the hardware amount is increased because two clusters are connected by the cross-bar switch. Moreover, in order to guarantee coherency of the cache memories (e.g., store-in-caches), the memory blocks in the shared memory can be copied by only one of the cache memories at a time. Consequently, a "hit" ratio within the cache memories is lowered, and thus a performance of the overall multi-processor system is lowered.